Aufgabe: ======== Implementiere die Methode positionOf(). Die Methode nimmt einen Daten-String entgegen und gibt die Position in der Liste zurück, an der die beschriebenen Daten das erste mal auftauchen. positionOf("Huhn") -> 1 positionOf("Nessos") -> 7 positionOf("gibtsnich") -> 0 1. Schreibe die Funktionsdeklaration Hinweis: die Java-Syntax ist ein bisschen anders als in dem Klassendiagramm 2. Welche lokalen Variablen brauchen wir in der Funktion -> String monster; Liste weiter; int position; 3. Wie sieht die Schleife aus? Aufgabe ======== Implementiere die zweite remove-Methode bei der ein Element an einer gegebenen _position_ entfernt wird. 1. Welche lokalen Variablen brauchen wir inder Methode -> int position, Liste weiter = this; intL i; 2. Wie sieht die Schleife aus, mit der wir uns an die richtige Listenposition hangeln for (int i = 0; i < (position - 1); i++) { weiter = weiter.next; } 3. Was tun wir, wenn wir beim richtigen Element angekommen sind? 4. Was können wir tun, um unsinnige Anfragen abzufangen? -> position kleiner als 1? -> return; -> nicht position <= length() -> return; ^^ das jetzt als Code formulieren Aufgabe: ======== Schreibe (zunächst leere) Methoden-Deklarationen für 1. push() 2. pop() 3. peek() - was sind die jeweiligen Aufrufargumente? - was ist der Datentyp der Argumente? - was ist der jeweilige Datentyp der Funktionsrückgabe? public String push(monster) {} public void push() {} public String pull(monster) {} public void pull() {} public void peek(monster) {} public void peek() {} Aufgabe ======= Implementiere push() Hinweis: wir können auf die bestehenden Listen-Funktionen zugreifen Kaffetasse -> Skateboard -> Kugelschreiber Aufgabe ======= Implementiere peek() wieder mit bestehenden Listenfunktionen Hinweis: hier muss ein `return ...;` vorkommen Hinweis: eigentlich wieder ein Einzeiler lässt sich aber auch zerlegen Es gibt schon eine fertige Methode um den Wert (data) eines Listenelements zurück zu geben. Wir müssen zusätzlich noch dafür sorgen, dass es das letzte Element ist, dessen Wert wir zurück geben. Aufgabe ======= Implementiere pop() wieder mit bestehenden Listenfunktionen Hinweis: hier muss ein `return ...;` vorkommen Aufgabe ======= Schreibe (leere) Methodendeklarationen für 1. queue() 2. process() - Welche Argumente, von welchen Datentypen werden entgegen genommen - Zu was für einem Datentyp evaluiert die Funktion (was wird zurückgegeben) public String queue(daten){ } public String queue(String daten){ } Aufgabe ======= Implementiere queue() Hinweis: Die Methode wird sehr kurz, denn alles was wir brauchen ist schon in anderen Methoden vorhanden Aufgabe ======= Implementiere process() Aufgabe: ======== Implementiere eine replace()-Methode. Diese soll ein Element an einer gegebenen Position einfügen, und das Element löschen, das dort vorher stand. 1. [x] Methodendeklaration 2. Business-Logik greift auf bestehende Methoden zurück Aufgabe ======= Eine funktion set() soll, gewissermaßen als "alias", genauso funktionieren wie die replace-Funktion.